package com.gwtintegration.smartrf.shared;

import com.google.gwt.user.client.rpc.IsSerializable;

public enum DataRequestOperatorId implements IsSerializable {
	/**
	 * exactly equal to
	 */
	EQUALS,
	/**
	 * not equal to
	 */
	NOT_EQUAL,
	/**
	 * exactly equal to, if case is disregarded
	 */
	IEQUALS,
	/**
	 * not equal to, if case is disregarded
	 */
	INOT_EQUAL,
	/**
	 * Greater than
	 */
	GREATER_THAN,
	/**
	 * Less than
	 */
	LESS_THAN,
	/**
	 * Greater than or equal to
	 */
	GREATER_OR_EQUAL,
	/**
	 * Less than or equal to
	 */
	LESS_OR_EQUAL,
	/**
	 * Contains as sub-string (match case)
	 */
	CONTAINS,
	/**
	 * Starts with (match case)
	 */
	STARTS_WITH,
	/**
	 * Ends with (match case)
	 */
	ENDS_WITH,
	/**
	 * Contains as sub-string (case insensitive)
	 */
	ICONTAINS,
	/**
	 * Starts with (case insensitive)
	 */
	ISTARTS_WITH,
	/**
	 * Ends with (case insensitive)
	 */
	IENDS_WITH,
	/**
	 * Does not contain as sub-string (match case)
	 */
	NOT_CONTAINS,
	/**
	 * Does not start with (match case)
	 */
	NOT_STARTS_WITH,
	/**
	 * Does not end with (match case)
	 */
	NOT_ENDS_WITH,
	/**
	 * Does not contain as sub-string (case insensitive)
	 */
	INOT_CONTAINS,
	/**
	 * Does not start with (case insensitive)
	 */
	INOT_STARTS_WITH,
	/**
	 * Does not end with (case insensitive)
	 */
	INOT_ENDS_WITH,
	/**
	 * shortcut for "greaterOrEqual" + "and" + "lessOrEqual" (case insensitive)
	 */
	IBETWEEN_INCLUSIVE,
	/**
	 * value is null
	 */
	IS_NULL,
	/**
	 * value is non-null. Note empty string ("") is non-null
	 */
	NOT_NULL,
	/**
	 * value is in a set of values. Specify criterion.value as an Array
	 */
	IN_SET,
	/**
	 * value is not in a set of values. Specify criterion.value as an Array
	 */
	NOT_IN_SET,
	/**
	 * all subcriteria (criterion.criteria) are true
	 */
	AND,
	/**
	 * all subcriteria (criterion.criteria) are false
	 */
	NOT,
	/**
	 * at least one subcriteria (criterion.criteria) is true
	 */
	OR,
	/**
	 * shortcut for "greaterThan" + "lessThan" + "and". Specify criterion.start and criterion.end
	 */
	BETWEEN,
	/**
	 * shortcut for "greaterOrEqual" + "lessOrEqual" + "and". Specify criterion.start and criterion.end
	 */
	BETWEEN_INCLUSIVE;
}